limsDbconn.editPage = {

    getGridParam : function() {
        var _this = this;
        return {
            type : 'grid',
            id : 'lims-dbconn-edit-list-grid',
            url : limsDbconn.baseUrl + '/ui/queries',
            service : 'limsDbconnServiceImpl',
            dbTable : 'T_LIMS_DBCONN',
            editorInvisible: false,
            columns : limsDbconn.getEditListColumns(),
            toolbar : [{
               type : 'button',
               text : '测试连接',
               icon : 'submit',
               onClick : function() {
                   var connect = Gikam.getComp('lims-dbconn-edit-list-grid').getActivedRow();
                   if(Gikam.isEmpty(connect)){
                       return;
                   }
                   workspace.window.showMask();
                   Gikam.post(limsDbconn.baseUrl+'/connect', Gikam.getJsonWrapper(null, ['', [connect]])).done(function(data) {
                        if(data && data.result==true){
                            Gikam.toast('连接成功！');
                        }else{
                            Gikam.toast('连接失败！');
                        }
                   }).always(function () {
                       workspace.window.closeMask();
                   });
               }
           },{
                type : 'button',
                text : '测试SQL',
                icon : 'submit',
                onClick : function() {
                    _this.testSQL();
                }
            }]
        }
    },

    testSQL : function(){
        var _this = this;
        var connect = Gikam.getComp('lims-dbconn-edit-list-grid').getActivedRow();
        if(Gikam.isEmpty(connect)){
            return;
        }
        Gikam.create('modal', {
            title : '测试SQL',
            width : '80%',
            height : '80%',
            url : limsDbconn.baseUrl + '/page/testSQL' + Gikam.param({
              dbconnectId : connect.id
           }),
        });
    },

    getDataResultTab : function(){
        var _this = this;
        return {
            type : 'tab',
            id : 'tabResult',
            panels : [{
                id : 'panelResult',
                title : '结果',
                items : [{
                        type : 'grid',
                        columns : [],
                        data : []
                    }
                ]
            }]
        };
    },

    create : function() {
        var _this = this;
        Gikam.create('layout', {
            id : 'lims-dbconn-edit-list-layout',
            renderTo : workspace.window.$dom,
            center : {
                title : '数据库链接',
                items : [ this.getGridParam() ]
            }
        });
    },

    init : function() {
        this.create();
    }
};
